package com.bgs.eat.shop.service;

import com.bgs.eat.config.CommonResult;
import com.bgs.eat.page.PageRequest;
import com.bgs.eat.page.PageResult;
import com.bgs.eat.shop.entity.ShopEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @ClassName ShopService
 * @Description TODO
 * @Author lzy
 * @Date 2022/10/9 14:54
 **/
public interface ShopService {

    /**
    * @Description 申请店铺 上传相关图片
    * @Author lzy
    * @Date 2022/10/13 19:15
    * @Return com.bgs.eat.config.CommonResult
    * @param file
    * @param name
    */
    CommonResult applyUploadImage(MultipartFile file, String name);

    /**
    * @Description 新增店铺（门户展示 店家申请个开通店铺）
    * @Author lzy
    * @Date 2022/10/16 20:38
    * @Return com.bgs.eat.config.CommonResult
    * @param shopEntity
    */
    CommonResult saveShop(ShopEntity shopEntity);

    /**
    * @Description 根据用户id获取 名下所有店铺（门户商家版 展示）
    * @Author lzy
    * @Date 2022/10/18 9:04
    * @Return com.bgs.eat.config.CommonResult
    * @param userId
    */
    CommonResult getShopListByUserId(Integer userId);

    /**
    * @Description 修改店铺营业状态（门户商家版 展示）
    * @Author lzy
    * @Date 2022/10/18 14:36
    * @Return com.bgs.eat.config.CommonResult
     * @param status
     * @param shopId
    */
    CommonResult editShopStatus(Integer status, Integer shopId);

    /**
    * @Description 根据 店铺id获取店铺信息
    * @Author lzy
    * @Date 2022/10/19 9:04
    * @Return com.bgs.eat.config.CommonResult
    * @param shopId
    */
    CommonResult shopById(Integer shopId);

    /**
    * @Author hbx
    * @Description 获取店铺全信息
    * @Date 2022/10/20 9:42

    */
    List<ShopEntity> getAllShop();

    /**
    * @Author cjl
    * @Description 后台 店铺管理 全查（模糊查店铺名字
    * @Date  14:03
    * @Return com.bgs.eat.page.PageResult
    * @param shopName
    * @param pageRequest
    */
    PageResult getAllShopEntityByShopName(String shopName,String roleId,String countyId,PageRequest pageRequest);
    /**
    * @Author cjl
    * @Description 后台 下架店铺 删除标识变为 0  关闭店铺理由
    * @Date  8:26
    * @Return int
    * @param shopEntity
    */
    int updateShopEntityByDelFlag(ShopEntity shopEntity);
    /**
    * @Author cjl
    * @Description 后台 回复店铺全查
    * @Date  8:28
    * @Return com.bgs.eat.page.PageResult
    * @param shopName
    * @param pageRequest
    */
    PageResult getAllShopEntityDelFlagZero(String shopName,String roleId,String countyId, PageRequest pageRequest);
    /**
    * @Author cjl
    * @Description 后台 上架商铺
    * @Date  8:29
    * @Return int
    * @param shopEntity
    */
    int updateShopEntityByDelFlagZero(ShopEntity shopEntity);

    /**
    * @Author cjl
    * @Description 审批店铺管理全查 根据地区展示店铺（后端）
    * @Date  9:55
    * @Return com.bgs.eat.page.PageResult
    * @param shopName
    * @param roleId
    * @param countyId
    * @param pageRequest
    */
    PageResult selectShopLeftJoinUserProtal(String shopName, Integer roleId, Integer countyId, PageRequest pageRequest);

    /**
    * @Author cjl
    * @Description 审批店铺通过
    * @Date  11:31
    * @Return int
    * @param shopEntity
    */
    int examineShopSucceed(ShopEntity shopEntity);

    /**
     * @Author cjl
     * @Description 审批店铺失败（后端）
     * @Date  8:29
     * @Return com.bgs.eat.config.CommonResult
     * @param map
     */
    int examineShopFailed(Map<String, String> map);

    /**
     * @Author G胖
     * @Description 修改商户版店铺信息
     * @Date 2022-10-26 下午 01:50
     * @Return com.bgs.eat.config.CommonResult

     */
    Integer editShop(ShopEntity shopEntity);

    /**
     * @Author G胖
     * @Description 修改门脸照id
     * @Date 2022-10-26 下午 03:23
     * @Return

     */
    Integer updateFacadeImageId(ShopEntity shopEntity);

    /**
     * @Author G胖
     * @Description 修改店内照id
     * @Date 2022-10-26 下午 03:48
     * @Return

     */
    Integer updatelobbyImageId(ShopEntity shopEntity);

    /**
     * @Author G胖
     * @Description 修改商店logo
     * @Date 2022-10-26 下午 03:57
     * @Return com.bgs.eat.config.CommonResult

     */
    Integer updateShopLogo(ShopEntity shopEntity);

    /**
    * @Description 根据店铺id获取店铺信息（门户用户端）
    * @Author lzy
    * @Date 2022/10/28 8:59
    * @Return com.bgs.eat.config.CommonResult
    * @param id
    */
    CommonResult getShopFormById(Integer id);
}
